\contentsline {chapter}{\numberline {1}Introduction}{8}
\contentsline {section}{\numberline {1.1}Intention of this work}{8}
\contentsline {section}{\numberline {1.2}Organization of this work}{8}
\contentsline {section}{\numberline {1.3}Project Organization}{9}
\contentsline {section}{\numberline {1.4}WebSocket}{9}
\contentsline {subsection}{\numberline {1.4.1}Bidirectional Communication in HTML5}{10}
\contentsline {subsection}{\numberline {1.4.2}Security Concerns}{12}
\contentsline {section}{\numberline {1.5}Annotations}{12}
\contentsline {subsection}{\numberline {1.5.1}Traditional processing of Annotations}{13}
\contentsline {subsection}{\numberline {1.5.2}Processing Annotations in Spring}{14}
\contentsline {section}{\numberline {1.6}Annotations in conjunction with Pojos}{16}
\contentsline {subsection}{\numberline {1.6.1}Protect the freedom - Annotations}{16}
\contentsline {chapter}{\numberline {2}First Milestone}{18}
\contentsline {section}{\numberline {2.1}Conceptional Decisions}{18}
\contentsline {subsection}{\numberline {2.1.1}Provider for WebSockets}{18}
\contentsline {subsection}{\numberline {2.1.2}Chosing the communication protocol}{19}
\contentsline {subsection}{\numberline {2.1.3}Used Annotations}{20}
\contentsline {subsection}{\numberline {2.1.4}WebSocket annotation scanning}{20}
\contentsline {subsection}{\numberline {2.1.5}WebSocketCallback annotation scanning}{21}
\contentsline {subsection}{\numberline {2.1.6}Scanning for WebSocketRef annotation}{22}
\contentsline {subsection}{\numberline {2.1.7}Implementing a client}{22}
\contentsline {section}{\numberline {2.2}Summary}{23}
\contentsline {chapter}{\numberline {3}Second Milestone}{24}
\contentsline {section}{\numberline {3.1}Handling return values - theory}{24}
\contentsline {section}{\numberline {3.2}Implementation}{25}
\contentsline {section}{\numberline {3.3}Thoughts about connection specific calls}{26}
\contentsline {section}{\numberline {3.4}Summary}{27}
\contentsline {chapter}{\numberline {4}Third Milestone}{28}
\contentsline {section}{\numberline {4.1}Refining the concept of connection specific calls}{28}
\contentsline {subsection}{\numberline {4.1.1}Additions/Changes on the server side}{28}
\contentsline {subsubsection}{Connection registry}{29}
\contentsline {subsubsection}{Needed annotations}{29}
\contentsline {subsubsection}{New annotation processors}{29}
\contentsline {subsubsection}{Handling registration calls}{29}
\contentsline {subsection}{\numberline {4.1.2}Additions/Changes on the client side}{30}
\contentsline {section}{\numberline {4.2}Chat client as an example}{31}
\contentsline {subsection}{\numberline {4.2.1}Annotated interfaces}{32}
\contentsline {subsubsection}{Registrator interface}{32}
\contentsline {subsubsection}{Sender interface}{32}
\contentsline {subsubsection}{Receiver interface}{33}
\contentsline {subsubsection}{Summary}{33}
\contentsline {section}{\numberline {4.3}Bug hunting}{34}
\contentsline {subsection}{\numberline {4.3.1}Disconnection bug}{34}
\contentsline {section}{\numberline {4.4}Summary}{35}
\contentsline {chapter}{\numberline {5}Retroperspective}{36}
